In computing, it is useful to map values from one range to another. For example, it may be desired that values falling in the sequence ranging from 10 to 250, would be processed to fall into a new range. As another example, values between 0 to 256 might be re-mapped, such that new values are generated corresponding values of a new sequence with the same number of values spread evenly over a larger range. Or a larger range might be compacted to a smaller range, e.g. 0 to 256 down to 0 to 255 with some values from the larger range mapped to the same new value of the smaller new range.